#ifndef LEVELBLOCKFACTORY_H
#define LEVELBLOCKFACTORY_H

#include "LevelBlock.h"
#include "LevelBlockGeneric.h"

#include <string>
class LevelManager;


class LevelBlockFactory
{

friend class LevelBlock;
friend class LevelBlockGeneric;

public:



    LevelBlockFactory(LevelManager* _parent);
    virtual ~LevelBlockFactory();


    LevelBlock* createGenericBlock(std::string name, int i, int j);
    std::vector<std::string> getBlocksAvailables(){return m_blocksAvailables;};


protected:
private:

LevelManager* m_parent;
std::vector<std::string> m_blocksAvailables;


};

#endif // LEVELBLOCKFACTORY_H
